<?php
/**
 * 予定日表示コントロールモジュール
 */
require_once __DIR__ . '/../ZendPartial.php';
require_once APPLICATION_PATH . '/models/HttpRequest/HttpRequestController.php';
require_once 'DateMath.php';

/**
 * 予定日表示コントロールクラス
 */
class Components_Yoteibi extends Components_ZendPartial
{
	/** テンプレートファイル名：漢字版 */
	const NAME_TEMPLATE_KANJI = 'disp_kanji.tpl';

	/** カレンダーデータセットオブジェクト */
	protected $_objCalendar;

	/**
	 * コンストラクタ
	 * @param Models_Calendar_Controller $objCalendar
	 */
	public function __construct($objCalendar)
	{
		parent::__construct(__DIR__);
		$this->_objCalendar = $objCalendar;
		$this->_objHttpRequest = new Lib_Request();
		$YoteiId = $this->_objHttpRequest->get(Names::YOTEIID);
		$aryYoteiDate = $this->_objCalendar->getDateOfYotei($YoteiId);
		if ($aryYoteiDate !== FALSE){
			$this->view->YYYY = $aryYoteiDate[Lib_Request_DateTime::KEY_YEAR];
			$this->view->MM = $aryYoteiDate[Lib_Request_DateTime::KEY_MONTH];
			$this->view->DD = $aryYoteiDate[Lib_Request_DateTime::KEY_DAY];
			$objDateMath = new DateMath();
			$YoubiId = $objDateMath->getDayOfWeek($this->view->YYYY.$this->view->MM.$this->view->DD.'0000');
			$this->view->YOUBI = $objDateMath->aryDayOfWeekJp[$YoubiId];
		}
	}

	public function fetch()
	{
		$sHtml = parent::fetch(self::NAME_TEMPLATE_KANJI);
		return $sHtml;
	}
}